mixin AppLocale {
  static const String appBarTitle = 'appBarTitle';
  static const String selectColorTip = 'selectColorTip';
  static const String toggleBrightnessTip = 'toggleBrightnessTip';
  static const String showMenu = 'showMenu';
  static const String setting = 'setting';
  static const String about = 'about';
  static const String sort = 'sorting';
  static const String copy = 'copy';
  static const String paste = 'paste';
  static const String pasteText = 'pasteText';
  static const String pasteFile = 'pasteFile';
  static const String transferFile = 'transferFile';
  static const String editDeviceItem = 'editDeviceItem';
  static const String deleteDeviceItem = 'deleteDeviceItem';
  static const String cancel = 'cancel';
  static const String confirm = 'confirm';
  static const String deleteDevice = 'deleteDevice';
  static const String deleteDeviceTip = 'deleteDeviceTip';
  static const String textEdit = 'textEdit';
  static const String inputContent = 'inputContent';
  static const String addDevice = 'addDevice';
  static const String deviceName = 'deviceName';
  static const String followSystemTheme = 'followSystemTheme';
  static const String defaultSyncDevice = 'defaultSyncDevice';
  static const String defaultShareDevice = 'defaultShareDevice';
  static const String deviceNameLocal = 'deviceNameLocal';
  static const String fileSavePath = 'fileSavePath';
  static const String imageSavePath = 'imageSavePath';
  static const String disableSync = 'disableSync';
  static const String donate = 'donate';
  static const String openSource = 'openSource';
  static const String donateAuthor = 'donateAuthor';
  static const String deviceSetting = 'deviceSetting';
  static const String autoSelectIp = 'autoSelectIp';
  static const String downloadThread = 'downloadThread';
  static const String uploadThread = 'uploadThread';
  static const String deviceNameEmptyHint = 'deviceNameEmptyHint';
  static const String deviceNameRepeatHint = 'deviceNameRepeatHint';
  static const String invalidPort = 'invalidPort';
  static const String cannotBeEmpty = 'cannotBeEmpty';
  static const String mustBeNumber = 'mustBeNumber';
  static const String findAvailableDevice = 'findAvailableDevice';
  static const String operationSuccess = 'operationSuccess';
  static const String shareFailed = 'shareFailed';
  static const String shareSuccess = 'shareSuccess';
  static const String downloadLatestVersion = 'downloadLatestVersion';
  static const String copySuccess = 'copySuccess';
  static const String pasteSuccess = 'pasteSuccess';
  static const String filesSaved = 'filesSaved';
  static const String syncTextSuccess = 'syncTextSuccess';
  static const String sendSuccess = 'sendSuccess';
  static const String push = 'push';
  static const String useThirdPartyFilePicker = 'useThirdPartyFilePicker';
  static const String filePickerPackageNameHint = 'filePickerPackageNameHint';

  static const Map<String, dynamic> zh = {
    appBarTitle: '风传',
    selectColorTip: '选择一个主题颜色',
    toggleBrightnessTip: '切换亮度',
    showMenu: '显示菜单',
    setting: '设置',
    about: '关于',
    sort: '排序',
    copy: '复制',
    paste: '粘贴',
    push: '推送',
    transferFile: '文件',
    editDeviceItem: '编辑',
    deleteDeviceItem: '删除',
    cancel: '取消',
    confirm: '确认',
    deleteDevice: '删除设备',
    deleteDeviceTip: '确定要删除这个设备吗？',
    // textEdit: '发送文本',
    inputContent: '请输入内容',
    addDevice: '添加设备',
    deviceName: '设备名称',
    followSystemTheme: '跟随系统主题',
    defaultSyncDevice: '默认同步设备(主页下拉)',
    defaultShareDevice: '默认分享设备',
    deviceNameLocal: '本机设备名称',
    fileSavePath: '文件保存路径',
    imageSavePath: '图片保存路径',
    disableSync: '禁用同步',
    donate: '捐赠',
    openSource: '应用是开源的',
    donateAuthor: '捐赠作者',
    deviceSetting: '设备设置',
    autoSelectIp: '自动选择ip地址',
    downloadThread: '下载线程数',
    uploadThread: '上传线程数',
    deviceNameEmptyHint: '设备名称不能为空',
    deviceNameRepeatHint: '设备名称不能重复',
    invalidPort: '无效的端口',
    cannotBeEmpty: '%a不能为空',
    mustBeNumber: '%a必须是数字',
    pasteText: '粘贴文本',
    pasteFile: '粘贴文件',
    findAvailableDevice: '查找可用设备',
    operationSuccess: '操作成功',
    shareFailed: '分享失败',
    shareSuccess: '发送到 %a 成功',
    downloadLatestVersion: '下载最新版本',
    copySuccess: '复制成功',
    pasteSuccess: '粘贴成功',
    filesSaved: '%a 个文件已保存',
    syncTextSuccess: '同步文本成功',
    sendSuccess: '发送成功',
    useThirdPartyFilePicker: '使用第三方文件选择器',
    filePickerPackageNameHint: '请输入文件管理应用的包名',
  };

  static const Map<String, dynamic> en = {
    appBarTitle: 'WindSend',
    selectColorTip: 'Select a seed color',
    toggleBrightnessTip: 'Toggle brightness',
    showMenu: 'Show menu',
    setting: 'Setting',
    about: 'About',
    sort: 'Sorting',
    copy: 'Copy',
    paste: 'Paste',
    push: 'Push',
    transferFile: 'Files',
    editDeviceItem: 'Edit',
    deleteDeviceItem: 'Delete',
    cancel: 'Cancel',
    confirm: 'Confirm',
    deleteDevice: 'Delete device',
    deleteDeviceTip: 'Are you sure you want to delete this device?',
    // textEdit: 'Send text',
    inputContent: 'Please enter content',
    addDevice: 'Add device',
    deviceName: 'Device name',
    followSystemTheme: 'Follow system theme',
    defaultSyncDevice: 'Default sync device (home page drop down)',
    defaultShareDevice: 'Default share device',
    deviceNameLocal: 'Local device name',
    fileSavePath: 'File save path',
    imageSavePath: 'Image save path',
    disableSync: 'Disable sync',
    donate: 'Donate',
    openSource: 'The app is open source',
    donateAuthor: 'Donate author',
    deviceSetting: 'Device setting',
    autoSelectIp: 'Auto select ip',
    downloadThread: 'Download thread',
    uploadThread: 'Upload thread',
    deviceNameEmptyHint: 'Device name cannot be empty',
    deviceNameRepeatHint: 'Device name cannot be repeated',
    invalidPort: 'Invalid port',
    cannotBeEmpty: '%a cannot be empty',
    mustBeNumber: '%a must be number',
    pasteText: 'Paste text',
    pasteFile: 'Paste file',
    findAvailableDevice: 'Find available device',
    operationSuccess: 'Operation success',
    shareFailed: 'Share failed',
    shareSuccess: 'Successfully sent to the %a',
    downloadLatestVersion: 'Download latest version',
    copySuccess: 'Copied',
    pasteSuccess: 'Paste successfully',
    filesSaved: '%a files saved',
    syncTextSuccess: 'Sync text success',
    sendSuccess: 'Send successfully',
    useThirdPartyFilePicker: 'Use third party file picker',
    filePickerPackageNameHint:
        'Please enter the package name of the file manager app',
  };

  static List<String> getSupportLanguageCode() {
    return ['zh', 'en'];
  }
}
